import requests
import os


#通过地址下载各种资源
#mp3_url 目标地址
#save_url 存储地址
#file_name 保存名称
def DownloadFile(url, save_url):
    file_name = os.path.basename(url)
    name = save_url + "/" + file_name
    if os.path.exists(name):
        return name
    else:
        try:
            if url is None or save_url is None:
                print('参数错误')
                return None
            file_name = os.path.basename(url)
            # 文件夹不存在，则创建文件夹
            folder = os.path.exists(save_url)
            if not folder:
                os.makedirs(save_url)
            # 读取资源
            res = requests.get(url, stream=True)
            # 获取文件地址
            file_path = os.path.join(save_url, file_name)
            print('开始写入文件：', file_path)
            # 打开本地文件夹路径file_path，以二进制流方式写入，保存到本地
            with open(file_path, 'wb') as fd:
                for chunk in res.iter_content():
                    fd.write(chunk)
            print(file_name + ' 成功下载！')
            return name
        except:
            print("程序错误1")




#线程池
# from concurrent.futures import ThreadPoolExecutor
# def save_ts(url,index)
# 创建线程池
# with ThreadPoolExecutor(20) as pool:
#      for index, seg in enumerate(playlist.segments):# enumerate 可以获取元素的索引和值  （包个循环）
#           pool.submit(func,"周杰伦参数")       pool.submit(save_ts, url, index)#参数1 函数 2，3函数参数
#
#
#多线程
# 1导包 from threading import Thread
# 2创建任务 def func().....
# 3创建线程 t = Thread(target=func, args=("name",))
# 4启动线程 t.start()
#
#进度条
#from tqdm import tqdm
# for value in tqdm(unvoiced["0"]):     for value in unvoiced["0"]:         循环体 给循环体加 tqdm
#
#
#
#
#
#